Dart eval:IdentifierReference
介绍
引用一个《Dart Analyzer:Identifier》,其中 name 表示的是 SimpleIndentifier 部分,object 表示的是 Prefix 部分(类型为 dart_eval 中的 Variable)。
当有 Prefix(有 object)情况下,name 与 object 的从属关系,根据不同语境是不同的,分别可以表示:
- 访问局部变量
- 访问成员变量/方法
- 访问全局变量/顶层函数
成员
Variable? object;
final String name;
resolveType
每个 identifer 都有与之关联的类型。通过该方法进行解析,逻辑如下:
- object 不为空,在 object 作用域内查找
- object 为空
- 在局部作用域内查找
- 在类实例作用域中查找